package com.jctrip.hotel.source.model.elong.req.online;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Author: zxy
 * @CreateTime: 2023-11-13 10:26
 * @Description:
 */
@Data
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ElongHotelDetailReq {
    @JsonProperty("ArrivalDate")
    @ApiModelProperty("入住日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date arrivalDate;

    @JsonProperty("DepartureDate")
    @ApiModelProperty("离店日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date departureDate;

    @JsonProperty("HotelIds")
    @ApiModelProperty("酒店ID列表")
    private String hotelIds;

    @JsonProperty("RoomTypeId")
    @ApiModelProperty("房型编号")
    private String roomTypeId;

    @JsonProperty("RatePlanId")
    @ApiModelProperty("产品编码")
    private Long ratePlanId;

    @JsonProperty("PaymentType")
    @ApiModelProperty("支付方式")
    private String paymentType;

    @JsonProperty("NumberOfAdults")
    @ApiModelProperty("成人数")
    private Integer numberOfAdults;

    @JsonProperty("NumberOfRooms")
    @ApiModelProperty("房间数量")
    private Integer numberOfRooms;

    @JsonProperty("ChildAges")
    @ApiModelProperty("儿童年龄")
    private List<Integer> childAges;

    @JsonProperty("InvoiceMode")
    @ApiModelProperty("预付发票模式")
    private String invoiceMode;

    @JsonProperty("SaveMajiaId")
    @ApiModelProperty("是否保存Littlemajiaid")
    private Boolean saveMajiaId;

    @JsonProperty("LatestArrivalTime")
    @ApiModelProperty("最晚到店时间")
    private Date latestArrivalTime;

    @JsonProperty("Options")
    @ApiModelProperty("其他条件")
    private String options;
}
